package com.easypan.utils.minio.controller;

import com.easypan.utils.minio.MinioUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

/**
 * Minio接口控制器
 *
 * @author jtz
 */
@RestController
@RequestMapping("/minio")
public class MinioController {
    @Autowired
    private MinioUtils minioUtils;

    /**
     * 上传文件
     *
     * @param file 上传的文件
     * @return 上传成功返回文件URL，失败返回错误信息
     */
    @PostMapping("/upload")
    public ResponseEntity<String> upload(@RequestPart("file") MultipartFile file) throws Exception {
        String uploadUrl = minioUtils.upload(file);
        if(uploadUrl == null){
            return ResponseEntity.ok("上传文件出错");
        }
        return ResponseEntity.ok(uploadUrl);
    }


    /**
     * 删除图片
     *
     * @param filename 图片名称（单纯的图片名 不包括minio桶名等信息）
     */
    @PostMapping("/delete")
    public ResponseEntity<String> delete(@RequestBody String filename){
        if(minioUtils.deleteFile(filename)){
            return ResponseEntity.ok().body("删除文件成功");
        }
        return ResponseEntity.ok().body("删除文件失败");
    }
}

